1. Field of the Invention
The present invention relates generally to television systems and, more particularly, to the use of a proxy server in a local area network.
2. Description of Related Art
Television service providers, such as a satellite or terrestrial broadcaster, or a cable multiple system operator (MSO), transmit audio-video streams to a viewer's television system. The viewer's television system frequently consists of a set-top box connected to a television set and a recording device, but may consist of any number of suitable devices. In addition to the audio and video that viewers typically think of as television programs, television service providers may transmit additional information as well. For example, the additional information may be instructions which are interpreted by an interpreter or virtual machine. Alternatively, a service provider may transmit HTML, MHEG, Flash or other presentation data for rendering by a presentation engine. If the broadcast is analog, this additional information may be encoded in the VBI (vertical blanking interval). If the broadcast is digital, additional information may be multiplexed with the audio and video according to a standard format, such as MPEG-2, or a proprietary format.
Interactive television systems provide a means to deliver interactive content as well as ordinary television audio and video to a large number of subscribers. Programs broadcast by these systems may incorporate television audio and video, still images, text, interactive graphics and applications, and many other components. The interactive content of the interactive television signal may therefore include application code, data associated with the audio and video, control signals, raw data and many other types of information. Both the interactive content and the audio and video data may be delivered to subscribers as “pushed” data. That is, the data may be broadcast to all the subscribers, regardless of whether or not the subscribers requested the data. The data can also be pulled by the subscriber. That is, data may be requested by and delivered to a specific subscriber. Push and pull methods can be combined to transmit interactive content as well as audio and video.
The interactive functionality of the television is generally controlled by a receiving device, such as an Integrated Receiver Decoder (IRD), which may, for example, be embodied in a television, set-top box, or other device connected to the television. The IRD receives the signal transmitted by a broadcast service provider or system operator, separates the interactive portion from the audio-video portion and decompresses the respective portions of the signal. The IRD uses the interactive information to, for example, execute an application while the audio-video information is decompressed and made ready to be transmitted to the television. The IRD may combine the audio-video information with interactive graphics or audio generated by the interactive application prior to transmitting the information to the television. The interactive graphics and audio may present additional information to the viewer or may prompt the viewer for input. The IRD may provide viewer input or other information to the broadcast service provider or system operator via a return path.
Interactive content such as application code or information relating to television programs is sometimes broadcast in a repeating format. In other words, each piece of information is broadcast a first time, then each is transmitted a second time, and so on. The cycle is repeated so that each piece of interactive data is transmitted, for example, every ten seconds. Further, different cycles can be used for different pieces. For example, more critical data may be repeated more often then less critical data. The pieces of information which are broadcast in this manner may be referred to as a “carousel.” It is possible to multiplex two or more carousels in a single data stream. Instead of using a carousel format, some interactive television systems may be configured to broadcast data to be cached in the IRD before it is needed by a particular program. Finally, other systems more heavily use a return path, requiring the IRD to request some of the interactive content via the return path. It should be noted that these methods of broadcasting may be combined in various ways.
Broadcast systems (e.g., interactive television systems) transmit information in a carousel format in order to allow receivers in the system to selectively obtain particular pieces of information in the carousel without requiring a return path from the receivers to the server. If a particular receiver needs a particular piece of information, it can simply wait until the next time that piece of information is broadcast, and then extract the information from the broadcast data stream. Other receivers in the system can operate in the same manner, each receiver waiting for the information it needs, and then using only that information. By employing carousels to broadcast information, the system eliminates the need to connect each of the receivers with the server and further eliminates the need for the server to process individual requests for information. Generally, a broadcast signal may include a number of programs which in turn may include a number of audio/video streams and/or data streams. Data streams may be used to carry data such as interactive application data, subtitle information, or other data.
The pieces of information, or data objects, in a carousel may be intended to be combined in a single object data stream to form a program. This program may also contain streaming data such as audio or video. For example, an interactive television game show may combine television audio and video with interactive content such as application code which allows users to answer questions. Another example would be a news program which combines audio and video with application code that inserts current stock prices in a banner at the bottom of the screen. (It should be noted that many types of programs are possible, and it is not necessary to include either audio, video or interactive content with any particular program. A program might contain only audio and interactive data (e.g., an interactive radio program,) or it might contain only interactive data (e.g., an interactive weather program that does not contain audio or video streams.) Typically, each channel is associated with a corresponding program at a particular point in time. In other cases, such as an interactive weather program that does not contain only interactive data, it is possible that the same program be transmitted all the time on a given channel. When a channel containing a particular program is selected by the interactive television receiver, the data which is being broadcast on that channel is downloaded and the program is started.
In addition to receiving video, audio, and interactive services, some receivers may be configured to enable a viewer to access the Internet, or take advantage of other services. However, because receivers such as set-top boxes typically have relatively small processing capability, services requiring significant processing may require the use of a remotely located proxy to perform the processing. For example, in order to provide Internet access to a television viewer, a broadcaster may include a proxy at the head-end which encodes Web based audio and video into MPEG streams which are then sent to the receiver for rendering. Inputs generated by the viewer are conveyed back to the head-end via a return path. Such systems may require modification of the servers and other equipment at the head-end or service provider location in order to properly function as a proxy. Further, if a particular format is required by a requesting device, each request from the device to the proxy server must include additional information describing the required format which is then used by the proxy server to encode the requested data prior to conveyance to the device. Consequently, additional bandwidth of the MSO's broadband network is consumed. In addition, because of the limited capability of receivers which are typically found in the home, the ability to enhance the functionality of the receiver may be limited.
What is desired is a method and mechanism for enabling enhanced functionality of a receiver in the home in a manner which may reduce network bandwidth consumption.